B-Login Novell(R) Network Login Shell Version 1.2 Add some excitement to logging in! Designed and Coded by: BLAZE Technologies 2100 South 7th Street Rapid City, SD 57701 Phone: (605) 394-5777 Fax: (605) 394 - 5738 Copyright: Copyright (c)1994 by BLAZE Technologies. All rights reserved. Other brand and product names are trademarks or registered t rademarks of their respective holders. License Agreement: This software is available for a 35 day trial period. This allows for a 20 day software evaluation of B-Login and a 15 day ordering period. If, after the 35 day evaluation period, B-Login has not been purchased, then all B-Login copies must be removed from the systems on which B-Login was installed. After B-Login has been purchased, the number of copies of B-Login equal to the number of file servers at your site on which B-Login will be used will be licensed to your site. The purchased copies of the software may not be exchanged, sold, or distributed. By using B-Login, you have agreed to these license agreement terms. Warranty: B-Login is sold on an as-is basis. BLAZE Technologies specifically disclaims all warranties, expressed or implied. In no event shall BLAZE Technologies be liable for any loss of profit or any other damage including but not limited to special, incidental, consequential, or other damages, including damages to third parties. If you do not find these terms agreeable, then do not use the B-Login software. By using B-Login, you have agreed to these warranty terms. OVERVIEW In the past, logging on to a Novell* file server has been a visually boring and rather dull experience. Simple prompts are used to input a username and password from the network user. It does not need to be like this any longer! B-Login works with practically all the network drivers, including ODIs and VLMs, and it gives the network administrator the ability to design eye catching login screens using flashy backgrounds, splashes, banners, boxes, frames, shadows, messages, clock read-outs, date read-outs, and screen savers. Now, when important information needs to be relayed to network users, messages can appear on the screen as the network user logs on. This is the perfect way to inform network users of file server down times, birthdays, jokes, quotes, and much more. B-Login is a DOS based login shell so that the new login process incorporates as smoothly as possible into your already existing login setup. Now, just because the program is DOS based doesn't mean that the login screens are boring and limited. Quite the contrary is true. With the B-Splash editor and the right character and color combinations, really cool and catchy login screens can be created! The B-Login package features includes the following: * B-Login - Easily installable shell for Novell's LOGIN.EXE. * B-Splash - Splash and background bitmap editor for B-Login. * Screen Saver examples. * Background and Splash examples. * Login screen examples. Have fun! INSTALLATION * Installing all of the B-Login Package Installation of the total B-Login software package is simple. Just copy the files and directories included on the disk into the directory of your choice. XCopy them to the SYS:LOGIN\BLOGIN directory and flag everything ROS for the fastest way to implement the new B-Login login shell. * Installing the B-Login Program Here are the steps for replacing LOGIN.EXE with B-Login: 1. Make the directory SYS:LOGIN\BLOGIN on the file server. 2. Create a BLOGIN.INI file in the SYS:LOGIN\BLOGIN directory. (See tutorial.) 3. Store all of the splashes and screen savers used by B-Login in SYS:LOGIN\BLOGIN. 4. In SYS:LOGIN, rename LOGIN.EXE to LGN.EXE. 5. Copy BLOGIN.EXE to SYS:LOGIN and rename BLOGIN.EXE to LOGIN.EXE. 6. In SYS:PUBLIC, rename LOGIN.EXE to LGN.EXE. 7. Copy BLOGIN.EXE to SYS:PUBLIC and rename BLOGIN.EXE to LOGIN.EXE. 8. Cool! The installation of B-Login is complete, and the users of the network should see your flashy new login screen the next time they login. NOTE: The users should have read access to the SYS:LOGIN\BLOGIN directory. * B-Login Commands The commands in the section are used by B-Login to create all of the desired screen objects. B-Login looks at the BLOGIN.INI file in the SYS:LOGIN\BLOGIN directory on the file server to create the nifty login screens. Screen object definition is carried out by specifying a set of parameters after the name of the object. Examples for each object and example .INI files will be given to help clear things up. * List of Available Screen Objects Splash - Screen bitmap image. Banner - Scrolling text region. Box - Filled box. Frame - Box outline. Shadow - Filled attribute modifying region. Time - Clock display. Date - Date display. Pen - Object parameter definition macro. Message - Static screen text. Status - Status line with help keys that is displayed on screen bottom. Login - Username and password input box. Saver - Screen saver that runs after no key press within some amount of time. * List of Object Definition Parameters x.a - Places upper left hand location of object at x coordinate a. y.a - Places upper left hand location of object at y coordinate a. w.a - Sets width of object to a characters. h.a - Sets height of object to a characters. cb.color - Sets background attribute of object to color. cf.color - Sets foreground attribute of object to color. ck.color - Sets foreground attribute of status line hot keys to color. f.ascii - Sets the fill character to ascii. blink.bool - Sets blinking attribute of object to bool. dir.dir - Sets banner scroll direction to dir. speed.a - Sets banner scroll speed to a. delay.a - Sets screen saver turn on waiting time to a seconds. esc.bool - Allows for exiting B-Login or prohibits the exiting of B-Login. type.a - a describes the style of the date or frame objects. See Appendix A for a more complete description of objects and their parameters. * List of Allowed Parameter Values a : Integer from approximately -32000 to +32000. bool : ON or OFF dir : L or R for (L)eft or (R)ight. color : BLACK (background or foreground) BLUE (background or foreground) GREEN (background or foreground) CYAN (background or foreground) RED (background or foreground) MAGENTA (background or foreground) BROWN (background or foreground) LGRAY (background or foreground) DGRAY (foreground only) LBLUE (foreground only) LGREEN (foreground only) LRED (foreground only) LMAGENTA (foreground only) YELLOW (foreground only) WHITE (foreground only) In the tutorial section to follow, a login screen will be created using the screen objects and various parameter definitions. This should clear up any questions about the different commands used in the BLOGIN.INI file. TUTORIAL In this section, the use of the various objects and their command syntax should become clear. If this is not the case, several examples have been included in the EXAMPLES directory on the B-Login distribution disk. The BLOGIN.INI file for this tutorial can be found under the TUTORIAL directory on the distribution disk. If you would like to instantly see the output of this tutorial, make at SYS:LOGIN\BLOGIN\TUTORIAL directory and copy the TUTORIAL directory on the distribution disk to the SYS:LOGIN\BLOGIN\TUTORIAL directory. Now copy the included BLOGIN.INI file from this directory to SYS:LOGIN\BLOGIN. * Beginning a New BLOGIN.INI File To start creating a login screen, use any text file editor to create a new file. It is important to plan which objects will need to be drawn first and which ones will be on top of others. Screen objects are drawn in the order that they appear in the BLOGIN.INI file. * Adding a Splash (bitmap image) To cover the entire screen with a bitmap image, one needs to create a full screen splash using the B-Splash program. For now, let's use the TUTORIAL.SPL file included with the distribution software. Add the following line to the new text file: SPLASH X.0 Y.0 "TUTORIAL\TUTORIAL.SPL" This line will position the TUTORIAL.SPL splash at screen coordinate (0, 0). For a splash, the complete filename (including extension) must be included in the quotes. Note 1: Be sure that there are no spaces in X.0 or Y.0 or any other parameters of similar form. Note 2: An object's definition parameters must all be on the same line. A maximum of 255 characters can be used per line. Note 3: Since the TUTORIAL.SPL file is located in SYS:LOGIN\BLOGIN\TUTORIAL, the TUTORIAL\ needs to be included with the TUTORIAL.SPL to dereference the path correctly from SYS:LOGIN. This rule will also apply to screen savers located in any directory below SYS:LOGIN\BLOGIN. If the splashes or screen savers were located in SYS:LOGIN\BLOGIN, then no dereferencing would be needed. * Adding a Scrolling Title Bar with Time and Date Read-outs Let's add a title bar on the top of the screen that has a clock, date read-out, and scrolling title. First we will need to create a background that the clock, date, and banner can sit on. This background will make the title bar look nicer than simply placing the clock, for instance, directly on the background splash. To make the background, add the following command as the next line in the text file: BOX F.32 X.0 Y.0 W.80 H.1 CB.LGRAY CF.WHITE This box command creates a white on blue box filled with spaces at location (0, 0) with width 80 and height 1. The F.32 command could have been something like F.1. This would have produced a box filled with smiley faces instead of spaces. Now that we have a base to set things on, we can add a date read-out with the following command: DATE TYPE.2 X.0 Y.0 CB.LGRAY CF.WHITE BLINK.OFF Here a date read-out of type 2 is created. Type 1 dates are in the form Jan 1, 1994, and type 2 dates are shown as January 1, 1994. It was not necessary to include the CB.LGRAY or CF.WHITE parameters, since B-Login will remember them from the most recently set values, such as in the previous box command. The blinking attribute of the date read-out has been shut off with the BLINK.OFF command. Blinking could be enabled just as easily with BLINK.ON. Now let's add a clock with the following command: CLOCK X.70 Y.0 Since B-Login remembers the parameters used by the previous date object, the newly created clock will have the same displaying characteristics of the date object, except the clock has been placed at (70, 0) on the screen. Add the line(Remember, all of the text must be on one line only.): BANNER "Welcome to the net!" X.20 Y.0 W.49 SPEED.1 DIR.L CF.YELLOW This line has just created a banner that scrolls "Welcome to the net!" in the left direction, in a region 49 characters wide, at location (20, 0), at the speed of 1, and in the color light cyan on light gray. Once again the light gray background color didn't need to be specified because of a previously defined object. For banners, a speed of 0 is the fastest (B-Login tries to scroll the banner every clock tick, which is about 18 times a second). The width of the scrolling region can be varied to see what happens. * Adding a Status Line There can only be one status line per BLOGIN.INI file. If there are more, B-Login will only use the first one it finds. The status line will only be displayed at the very bottom of the screen and will tell the user to use the and to navigate between the username and password input lines. Also, it is the status line that allows the person logging in to exit the login program or prevents the person from exiting. By default, B-Login assumes that the user will be allowed to exit. The following BLOGIN.INI entry creates a white on cyan status line with yellow hot-keys: STATUS CB.CYAN CF.WHITE CK.YELLOW BLINK.OFF ESC.OFF Also, this status line will not let the user exit B-Login. To create a status line that allows the user to exit, use ESC.ON instead. * Adding a Shadowed Login Box To create a shadow effect on the screen, we need to only change the color attributes of a square region. To do this enter the line: SHADOW X.3 Y.18 W.35 H.4 CB.LGRAY CF.BLACK BLINK.OFF Now let's add the login box over the top of the shadow by adding the line: LOGIN X.2 Y.17 W.20 CB.CYAN CF.WHITE BLINK.OFF We have just created a white on cyan login box on top of a shadow. Note: The width specifier for a login box specifies the maximum length of the username and password input fields. The actual width of the whole box is 14 plus the desired length of the input fields. * Adding Screen Savers to the Login Screen If computer terminals are left on for extended periods of time, for instance in a computer lab, it might be a good idea to include screen savers in the login program. Add the following lines in BLOGIN.INI to include three simple screen savers: SAVER DELAY.30 "TUTORIAL\BOXES.EXE" SAVER "TUTORIAL\SPHERE.EXE" SAVER "TUTORIAL\SMILEY.EXE" The delay parameter on the first screen saver is used to establish the waiting time (in seconds) to display a screen saver if no keys are pressed. Only one delay parameter should be specified in the whole BLOGIN.INI file. When multiple screen savers are used, a random selection will be made as to which saver will be executed. Note: If you are interested in creating your own screen savers, see the information in Appendix B later in this manual. This is what Your Newly Created BLOGIN.INI File should Look Like: Splash x.0 y.0 "tutorial\tutorial.spl" Box f.32 x.0 y.0 w.80 h.1 cb.lgray cf.white Date type.2 x.0 y.0 cb.lgray cf.white blink.off Clock x.70 y.0 Banner "Welcome to the net!" x.20 y.0 w.49 cb.lgray cf.lcyan speed.0 dir.L Status cb.cyan cf.white ck.yellow blink.off Shadow x.3 y.18 w.35 h.4 cb.lgray cf.black blink.off Login x.2 y.17 w.20 cb.cyan cf.white blink.off Saver delay.30 "tutorial\boxes.exe" Saver "tutorial\sphere.exe" Saver "tutorial\smiley.exe" Note: Don't worry if you have all upper-case; it doesn't matter. Hopefully this tutorial has helped in familiarizing you with the basic concepts of setting up a B-Login screen. Now, when the users of your network login, they will see the professional screens and messages that you the network administrator create. We at BLAZE hope that this B-Login utility helps create a more user friendly interface between the network, users, and the administrator. Have fun! APPENDIX A - Objects Available in B-Login Here is a list of the objects that B-Login recognizes: SPLASH - Bitmap image displayed on a login screen. Example: Splash X.1 Y.2 "SPLASH.SPL" BANNER - Scrolling line of text. Example: Banner x.10 y.5 w.40 "Hello World!" cb.red cf.white speed.1 blink.off dir.L "" - Message to scroll. dir.L - Scroll left. dir.R - Scroll right. speed.x - Scroll speed (x=0 - fastest, x=1000 - very slow). SHADOW - Change only the color attribute in a rectangular region. Example: Shadow x.5 y.5 w.30 h.10 cb.lgray cf.black blink.off BOX - Create a filled box on the screen. Example: Box f.177 x.1 y.2 w.20 h.10 cb.red cf.yellow blink.on f.x - Ascii character used for fill (0 <= x <= 255). FRAME - Put a rectangular frame around a region. Example: Frame type.single x.4 y.3 w.10 h.12 cb.black cf.cyan blink.off type.single - Single border on all sides. type.double - Double border on all sides. type.double_lf - Double border on left and right, single on top and bottom. type.double_tb - Double border on top and bottom, single on left and right. TIME - Clock display. Example: Time x.10 y.10 cb.lgray cf.lmagenta blink.off DATE - Date display. Example: Date type.1 x.5 y.12 cb.blue cf.lgreen blink.on type.1 - Date in the form of Jan 1, 1994 type.2 - Date in the form of January 1, 1994 PEN - Macro to define object characteristics of following objects. Example: Pen x.3 y.4 w.20 h.10 blink.off cb.red cf.cyan MESSAGE - Displays static text on the screen. Example: Message "Here is some text." x.10 y.2 cb.green cf.lgreen blink.on SAVER - Registers a screen saver with B-Login. Example: Saver delay.30 "SAVER.EXE" delay.x - Sets time to run the saver if after x seconds no keys have been pressed. STATUS - Defines the characteristics of status line. Example: Status cb.lgray cf.white ck.yellow esc.on ck.color - Sets the color of the hot-keys. esc.on - Allows the user to use to exit B-Login. (Default) esc.off - Prevents the user from exiting B-Login using . LOGIN - Defines the characteristics of the login box. Example: Login x.20 y.10 w.30 cb.black cf.white blink.off w.x - x is the maximum number of characters the user is allowed to input for the username or password. Add 14 to x to determine the total width of the login box. APPENDIX B - Screen Saver Creation Information If you or someone you know has programming skills, making your own screen saver is a fairly easy process. All one needs to do to create the simplest screen saver is to compile an executable program that does nothing but clear the screen and wait for a key press. Upon detecting a key press, the program simple exits. Of course, while waiting for a key press, the program could be displaying some neat animations or messages. B-Login simply spawns a child program to run a screen saver. So actually, a screen saver could be replaced with any type of program that does not require any command line parameters to operate. The following code is a very simple C program written with Borland's compiler that can be used as a screen saver. It only clears the screen and waits for a key press. #include void main() { clrscr(); while(!kbhit()) /* Loop while waiting for key press. */ { /* Insert code here to do something while in the key press wait loop. */ } while(kbhit()) /* Grab any extra characters */ getch(); /* in the keyboard buffer. */ } Hopefully this little bit of code helps you get started in making your own screen savers. APPENDIX C - Special notes on B-Login v1.2 B-Login v1.2 now handles expired passwords and forced password changes. B-Login v1.2 now has an information box. When the user presses a text file with the path SYS:LOGIN\BLOGIN\BLOGIN.HLP will be displayed on the screen. An editor that fills tabs with spaces should be used since tabs will be displayed as their single ASCII character representation in the information box. B-Login v1.2 now allows for the execution of programs upon using "EXIT" in the user or system login script. The password can still be redirected in from a file, just like the original Novell login program. Screens created for a color monitor may appear strange on a monochrome monitor, so use high intensity colors on a low intensity background so that monochrome monitor users can distinguish important text. If, for some reason B-Login does not work with a computer (this may occur only on the rarest of occasions), one can still resort to using LGN.EXE in replace of the new B-Login shell. If a user has no password, they will still need to hit on the password line. If a user uses the options available under Novell's login program, such as /Script, /NoAttach, and /Clearscreen, B-Login will simply execute the original Novell login program (which should now be renamed LGN.EXE). TIP: To change between different login screens quickly, have all of your different screen BLOGIN.INI and support files (splashes, screen savers, etc.) stored in their own separate directory under SYS:LOGIN\BLOGIN. Now all you have to do is copy the BLOGIN.INI file from the desired screen to SYS:LOGIN\BLOGIN. The new screen should now run the next time a user runs the login program. Special thanks to Ralf Brown for letting us use his Spawno library to provide a very low overhead when spawning other DOS programs. His work is very much appreciated. APPENDIX D - Command line switches for B-Login The following three command line switches have been added to B-Login: -L Will not log the user out of the file server upon entry into B-Login. This works great for testing out new background screens. EXAMPLE: LOGIN JOEUSER -L -P Allows for the inclusion of the password on the command line. There is no need to redirect a password in from a file anymore. EXAMPLE: LOGIN JOEUSER -PJOEPASSWORD NOTE: There should be no spaces between -P and the password. -N This switch is used when something is to log in without a password. EXAMPLE: LOGIN JOEUSER -N B-LOGIN SUPPORT INFORMATION In case of questions, comments, or problems concerning B-Loign, contact BLAZE Technologies in the following ways: Voice Phone: (605) 394 - 5777 FAX: (605) 394 - 5738 US Postal Service: BLAZE Technologies 2100 South 7th St., Centennial Square, Suite 223 Rapid City, SD 57701 Attn: B-Login B-LOGIN ORDERING INSTRUCTIONS To order B-Login, send check, money order, or purchase order to: BLAZE Technologies 2100 South 7th Street, Centennial Square, Suite 223 Rapid City, SD 57701 Please make checks and money orders out to BLAZE Technologies. B-Login Prices (All prices are in US dollars): 1st Server Licence $45 Additional Server Licenses $25 We cover the shipping charges. For example, an order of B-Login licenses that would handle 3 servers would cost $45 + $25 + $25 = $90 total. Thank you for supporting B-Login! B-LOGIN ORDERING FORM Shipping Address: __________________________ __________________________ __________________________ __________________________ Send to: BLAZE Technologies 2100 S. 7th St., Centennial Square, Suite 223 Rapid City, SD, USA 57701 Person to contact in case of questions: __________________________ Title: __________________________ Email: __________________________ Voice: __________________________ FAX: __________________________ B-Login single server price $ 45 Number of additional copies required ____ @ $25 each $________ In South Dakota, USA add 4% sales tax $________ Total Due in US dollars $________ Ordering Date __/__/__ Netware version currently being used: __ V2.2 __ V3.1x __V4.0x What other network utilities would you like to see developed? _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ Thank you for supporting B-Login! MV 1.02 4/30/94 B-Login BLAZE Technologies